using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using DevMaker.SIC.Model.BaseObject;
using log4net;


namespace DevMaker.SIC.Model {
    public class Cierre : IdentifiableObject {

        private static readonly ILog Log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        public Usuario Supervisor { set; get; }
        public List<CierreDetalle> Detalle { set; get; }
        public DateTime Fecha { set; get; }
        public DateTime FechaNegocio { set; get; }
        public String Observacion { set; get; }
        public Boolean Cuadrado { set; get; }
        public Int64 DiferenciaProductos { set; get; }
        public Int64 DiferenciaEnPesos { set; get; }
        public Int64 IdSessionVista { set; get; }
        public DateTime FechaNegocioVista { set; get; }

        public Cierre() {
            Detalle = new List<CierreDetalle>();
        }
        public void ReadFromDataReader(SqlDataReader reader) {
            try {
                Id = Convert.ToInt32(reader["cierre_turnos_id"]);
                Fecha = Convert.ToDateTime(reader["cierre_turnos_fecha"]);
                Cuadrado = Convert.ToBoolean(reader["cierre_turnos_turno_cuadrado"]);
                Observacion = reader["cierre_turnos_observacion"].ToString();
                DiferenciaEnPesos = Convert.ToInt64(reader["cierre_turnos_diferencia_productos"].ToString());
                DiferenciaProductos = Convert.ToInt64(reader["cierre_turnos_diferencia_pesos"].ToString());
                FechaNegocio = Convert.ToDateTime(reader["cierre_turnos_fecha_negocio"]);

                Supervisor = new Usuario();
                Supervisor.ReaderSupervisorFromDataReader(reader);
            } catch (Exception ex) {
                Log.Error(ex);
            }
        }

    }
}